um caso de amor (e ódio)
Rafael Lira
Tech Stack
Estrutura da apresentação
Motivação
Introdução à linguagem python
Integração R/python
Equivalências do da disciplina no python
ML com scikit-learn no R
R ou Python?
Criado / Lançado em 1993/1995 e mantido pela R-Foundation
Estatísticos da Universidade de Aukland, NZ
Robert Gentleman, Ross Ihaka, S Language
Criado/Lançado em 1989/1991, mantido pela Python Sftware Foundation
Por pelo programador holandês Guido van Rossum
Que aparentemente gostava muito de Monty Python
Qual vocês acham que é o R?
Fonte: DataCamp
Cientista chefe na RStudio (futura Posit)
“Não é uma batalha […] use o que te faz feliz!” , 2019
R
Usuários: Acadêmicos, estatísticos, biólogos, economistas …
Modelos em poucas linhas, possibilidade de escrever de várias formas.
Estatística e visualização (ggplot2!)
CRAN, GitHub: + pacotes, + fáceis de instalar e mais documentados.
Python
Usuários: Cient. computação, Eng. software …
Sensível a indentação.
ETL/ML workflows e ambientes de produção escaláveis
Pacotes/dependências mais “chatinhos”
Argumento 1: Uma pode ser melhor que a outra para um determinado problema.
Python melhor:
Argumento 1: Uma pode ser melhor que a outra para um determinado problema.
R melhor:
Argumento 2: A sua equipe pode ter pessoas de diferentes linguagens.
(ou uma mistura dos dois!)
Exemplos
1) A preparação dessa apresentação
2) Esta apresentação no rstudio::conf(2022)
Diversidade de pensamento
Mais chances de encontrar a melhor solução para um problema de forma mais eficiente. Leia
A RStudio correu atrás
RStudio: A Single Home for R and Python.
Pacote reticulate.
Quarto: (algo incrível aconteceu 😱)
outros produtos…
Ah, uma parte dessa introdução desse seminário foi inpirado apresentação da Bea Milz.
Então, vamos aprender um pouco de python agora?
[1] "%as%" "array_reshape"
[3] "as_iterator" "conda_binary"
[5] "conda_create" "conda_install"
[7] "conda_list" "conda_python"
[9] "conda_remove" "conda_version"
[11] "configure_environment" "dict"
[13] "eng_python" "import"
[15] "import_builtins" "import_from_path"
[17] "import_main" "install_miniconda"
[19] "install_python" "iter_next"
[21] "iterate" "miniconda_path"
[23] "miniconda_update" "np_array"
[25] "py" "py_available"
[27] "py_call" "py_capture_output"
[29] "py_clear_last_error" "py_config"
[31] "py_config_error_message" "py_del_attr"
[33] "py_del_item" "py_dict"
[35] "py_discover_config" "py_ellipsis"
[37] "py_eval" "py_exe"
[39] "py_func" "py_function_docs"
[41] "py_function_wrapper" "py_get_attr"
[43] "py_get_item" "py_has_attr"
[45] "py_help" "py_help_handler"
[47] "py_id" "py_install"
[49] "py_is_null_xptr" "py_iterator"
[51] "py_last_error" "py_len"
[53] "py_list_attributes" "py_load_object"
[55] "py_main_thread_func" "py_module_available"
[57] "py_none" "py_numpy_available"
[59] "py_run_file" "py_run_string"
[61] "py_save_object" "py_set_attr"
[63] "py_set_item" "py_set_seed"
[65] "py_str" "py_suppress_warnings"
[67] "py_to_r" "py_to_r_wrapper"
[69] "py_unicode" "py_validate_xptr"
[71] "py_version" "py_versions_windows"
[73] "PyClass" "r_to_py"
[75] "register_class_filter" "register_help_topics"
[77] "register_module_help_handler" "register_suppress_warnings_handler"
[79] "repl_python" "source_python"
[81] "tuple" "use_condaenv"
[83] "use_miniconda" "use_python"
[85] "use_python_version" "use_virtualenv"
[87] "virtualenv_create" "virtualenv_exists"
[89] "virtualenv_install" "virtualenv_list"
[91] "virtualenv_python" "virtualenv_remove"
[93] "virtualenv_root"
Falta de espaço em disco
Falta de RAM
Falta de Suporte